SYSLOG.CONF(5) | Administration du système Linux | SYSLOG.CONF(5) |
NOM¶
syslog.conf - Fichier de configuration de syslogd(8)
DESCRIPTION¶
Le fichier syslog.conf est le fichier principal de configuration de syslogd(8) qui journalise les messages des systèmes *nix. Ce fichier précise les règles de journalisation. Pour des possibilités spécifiques, lisez la page de manuel de sysklogd(8).
Chaque règle consiste en deux champs, un champ sélecteur et un champ action. Ces deux champs sont séparés par un ou plusieurs espaces ou tabulations. Le champ sélecteur précise un modèle de facility et priorité correspondant à l'action précisée.
Les lignes commençant par un dièse («#») et les lignes vides sont ignorées.
Cette version de syslogd est capable de comprendre une syntaxe étendue. Une règle peut être divisée en plusieurs lignes si la ligne de départ se termine par un anti-slash («\»).
SÉLECTEURS¶
Le champ sélecteur est lui-même encore divisé en deux parties, une facility et une priorité, séparés par un point («.»). Chaque partie est insensible à la casse et peut aussi être décrite avec des nombres décimaux, mais ne le faites pas, vous aurez été prévenu. Facility et priorité sont toutes deux décrites dans syslog(3). Les noms mentionnés ci-dessous correspondent à leurs valeurs LOG_ similaires dans /usr/include/syslog.h.
La facility est l'un des mots-clés suivants : auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (identique à auth), syslog, user, uucp et de local0 à local7. Le mot-clé security ne devrait plus être utilisé et mark est seulement destiné à un usage interne et ne devrait par conséquent pas être utilisé dans les applications. Cependant, vous pouvez avoir envie de préciser la redirection de ces messages ici. La facility identifie le sous-système qui produit le message, c'est-à-dire que tous les programmes de courriel journalisent avec la facility mail (LOG_MAIL) s'ils journalisent via syslog.
La priorité est l'un des mots-clés suivants, dans l'ordre croissant : debug, info, notice, warning, warn (identique à warning), err, error (identique à err), crit, alert, emerg, panic (identique à emerg). Les mots-clés error, warn et panic sont désapprouvés et ne devraient plus être utilisés. La priorité définit la sévérité du message.
Le comportement du syslogd original BSD est que tous les messages de la priorité précisée et au-dessus sont journalisés conformément à l'action donnée. Ce syslogd(8) se comporte de même, mais possède quelques extensions.
En plus des noms mentionnés ci-dessus, syslogd(8) comprend les extensions suivantes : un astérisque («*») remplace toutes les facility et toutes les priorités, en fonction de l'endroit où il est utilisé (avant ou après le point). Le mot-clé none signifie aucune priorité de la facility donnée.
Vous pouvez préciser de multiples facility avec le même modèle de priorité dans une seule déclaration en utilisant l'opérateur virgule («,»). Vous pouvez préciser autant de facility que vous le souhaitez. Rappelez-vous que seule la partie facility d'une telle déclaration sera considérée, toute partie priorité sera omise [NdT : en dehors du modèle de priorité en fin de sélecteur].
De multiples sélecteurs peuvent être précisés pour une unique action en utilisant le séparateur point-virgule («;»). Rappelez-vous que chaque sélecteur dans le champ selector est capable d'outrepasser les précédents. En utilisant cette méthode vous pouvez exclure des priorités du modèle.
Ce syslogd(8) dispose d'une extension de syntaxe par rapport au source original BSD, qui rend son utilisation plus intuitive. Vous pouvez précéder chaque priorité avec le signe égal («=») pour préciser cette priorité unique et non celles au-dessus. Vous pouvez aussi (les deux sont valides aussi) précéder la priorité avec un point d'exclamation («!») pour ignorer cette priorité, soit exactement celle-ci, soit celle-ci et celles au-dessus. Si vous utilisez les deux extensions, le point d'exclamation doit apparaître avant le signe égal, de façon intuitive.
ACTIONS¶
Le champ action d'une règle concrétise le nom abstrait de « journal ». Un « journal » ne nécessite pas en fait d'être un véritable fichier. Syslogd(8) permet les actions suivantes.
Fichier Régulier¶
Typiquement les messages sont journalisés dans de véritables fichiers. Le fichier doit être précisé par son chemin absolu, commençant par un slash «/».
Vous pouvez précéder chaque entrée avec le signe moins «-» pour ne pas synchroniser le fichier après chaque journalisation. Remarquez que vous pouvez alors perdre des informations si le système se crashe juste après une tentative d'écriture. Cependant vous pouvez gagner en retour quelques performances, spécialement si vous exécutez des programmes qui utilisent la journalisation de manière très verbeuse.
Tubes Nommés¶
Cette version de syslogd(8) supporte la journalisation à travers des tubes nommés (fifos). Un fifo ou tube nommé peut être utilisé comme destination des messages en préfixant du symbole pipe («|») le nom du fichier. Ceci est pratique pour le débugage. Remarquez que le fifo doit être créé avec la commande mkfifo(1) avant que syslogd(8) ne soit lancé.
Terminal et Console¶
Si le fichier que vous précisez est un terminal [NdT : tty], une manipulation spéciale du terminal est effectuée, de la même façon pour /dev/console.
Machine Distante¶
Ce syslogd(8) fournit une journalisation distante complète, c'est-à-dire qu'il est capable d'envoyer les messages à un hôte distant exécutant syslogd(8) et de recevoir les messages d'hôtes distants. L'hôte distant ne retransmettra plus le message, et ne pourra que le journaliser localement. Pour retransmettre les messages vers un autre hôtes, préfixez le nom d'hôte par le signe arobase («@»).
En utilisant cette possibilité vous serez à même de contrôler tous les messages syslog sur un hôte, si toutes les autres machines journalisent vers lui. Ceci dissipe tous les besoins d'administration.
Liste d'Utilisateurs¶
Généralement les messages critiques sont aussi redirigés vers « root » sur une machine. Vous pouvez préciser une liste d'utilisateurs qui recevront les messages en écrivant simplement leur login. Vous pouvez préciser plus d'un utilisateur en les séparant par des virgules («,»). S'ils sont connectés ils recevront le message. Ne croyez pas qu'un courriel sera envoyé, cela pourrait être trop tard.
Tous les Utilisateurs Connectés¶
Les messages d'urgence sont souvent envoyés à tous les utilisateurs connectés pour les prévenir que quelque chose d'étrange se produit sur le système. Pour préciser cette capacité wall(1) utilisez un astérisque («*»).
EXEMPLES¶
Voici quelques exemples, en partie tirés d'un site et d'une configuration existants. Par chance ils répondent à toutes les questions de configuration, si certaines demeurent, touchez-en un mot à Joey.
-
# Stocke tout ce qui est critique dans critical # *.=crit;kern.none /var/adm/critical
Ceci stockera tous les messages de priorité crit dans le fichier /var/adm/critical, sauf pour les messages noyau.
-
# Les messages noyau sont tout d'abord stockés dans # le fichier kernel, les messages critiques et au-dessus # sont retransmis vers un autre hôte et vers # la console # kern.* /var/adm/kernel kern.crit @finlandia kern.crit /dev/console kern.info;kern.!err /var/adm/kernel-info
La première règle dirige tous les messages de facility kernel vers le fichier /var/adm/kernel.
La seconde déclaration dirige tous les messages noyau de priorité crit et au-dessus vers l'hôte distant finlandia. Ceci est utile, car si l'hôte se crashe et que le disque subit des erreurs irréparables vous pourriez ne plus arriver à lire les messages stockés. S'ils sont aussi sur un hôte distant, vous pouvez encore essayer de trouver les raisons du crash.
La troisième règle dirige ces même messages vers la console courante, aussi l'utilisateur qui travaille sur la machine les recevra, aussi.
La quatrième ligne indique à syslogd de sauvegarder tous les messages noyau arrivant avec un priorité de info à warning dans le fichier /var/adm/kernel-info. Tout de err et au-dessus est exclu.
-
# Tcp wrapper journalise selon mail.info, nous affichons # toute la connexion sur tty12 # mail.=info /dev/tty12
Ceci dirige tous les messages utilisant mail.info (dans les sources LOG_MAIL | LOG_INFO) vers /dev/tty12, la 12ème console. Par exemple le tcp wrapper tcpd(8) utilise ceci par défaut.
-
# Stocke tout ce qui concerne le courriel dans # le fichier mail # mail.*;mail.!=info /var/adm/mail
Ce modèle correspond à tous les messages arrivant avec la facility mail, sauf ceux de priorité info. Ils seront stockés dans le fichier /var/adm/mail.
-
# Journalise tout message mail.info ou news.info dans info # mail,news.=info /var/adm/info
Ceci extraira tous les messages arrivant avec soit mail.info soit news.info et les stockera dans le fichier /var/adm/info.
-
# Journalise les messages info et notice dans # le fichier messages # *.=info;*.=notice;\ mail.none /var/log/messages
Ceci laissera syslogd journaliser tous les messages qui arrivent avec la priorité soit info soit notice dans le fichier /var/log/messages, sauf les messages qui utilisent la facility mail.
-
# Journalise les messages info dans le fichier messages # *.=info;\ mail,news.none /var/log/messages
Cette déclaration fait journaliser syslogd tous les messages arrivant avec la priorité info dans le fichier /var/log/messages. Mais tout message arrivant avec la facility soit mail soit news ne sera pas stocké.
-
# Les messages d'urgence seront affiché avec wall # *.=emerg *
Cette règle indique à syslogd d'envoyer tous les messages d'urgence à tous les utilisateurs connectés. C'est l'action de wall.
-
# Les messages de priorité alert seront dirigés # vers les opérateurs # *.alert root,joey
Cette règle dirige tous les messages de priorité alert ou au-dessus vers les terminaux des opérateurs, c'est-à-dire des utilisateurs « root » et « joey » s'ils sont connectés.
-
*.* @finlandia
Cette règle redirigerait tous les messages vers un hôte distant nommé finlandia. Ceci est utile spécialement dans un cluster de machines où tous les messages syslog seront stockés sur une machine unique.
DIFFÉRENCES DE SYNTAXE DU FICHIER DE CONFIGURATION¶
Syslogd utilise pour son fichier de configuration une syntaxe légèrement différente des sources originales BSD. Originellement tous les messages d'une priorité précisée et au-dessus étaient envoyés vers le journal. Les modificateurs «=», «!» et «-» ont été ajoutés pour rendre syslogd plus flexible et pour l'utiliser de manière plus intuitive.
Le syslogd BSD original ne comprenait pas les espaces comme des séparateurs entre les champs sélecteur et action.
FICHIERS¶
- /etc/syslog.conf
- Fichier de configuration de syslogd
BOGUES¶
Les effets de sélecteurs multiples ne sont pas toujours intuitifs. Par exemple « mail.crit,*.err » sélectionnera les messages de facility « mail » de priorité « err » et au-dessus, et non de priorité « crit » et au-dessus.
VOIR AUSSI¶
AUTEURS¶
Syslogd est tiré des sources BSD, Greg Wettstein (greg@wind.enjellic.com) en a effectué le portage sous Linux, Martin Schulze (joey@linux.de) a corrigé certains bugs et ajouté de nombreuses possibilités.
TRADUCTION¶
Laurent Hugé
AVERTISSEMENT SUR LA TRADUCTION¶
Il est possible que cette traduction soit imparfaite ou périmée. En cas de doute, veuillez vous reporter au document original en langue anglaise fourni avec le programme.
10 Février 2004 | Version 1.3 |